/*
 CENTRO DE INVESTIGACION Y DESARROLLO DE LA INDUSTRIA ELECTRO-ELECTRONICA E INFORMATICA
                        					  CIDEI
FUNCION: subrutina secundaria de OSCILOSCOPIO
autor :FREDDY ALXANDER DIAZ GONZALEZ
		INGENIERO DE DESARROLLO CIDEI
FECHA :08 de noviembre de 2007
DESCRIPCION:
En esta subrutina se implementa el diagrama de flujo
de la subrutina secundaria del firmware del LIV "OSCILOSCOPIO", como se muestra
en la figura 1.6 del documento Diagrams de flujo de firmware LIV
**
CAMBIOS:


**
*/

/**
inclucion de librerias necesarias para el funcionamineto del programa 
*/
void FUNCION_OSCILOSCOPIO(void)
{
if((CANAL_UNO.bESTADO)||(CANAL_DOS.bESTADO))
	{
	if(sztrama_buffer_in[2]=='d')//pregunta si es configuacion vol x divi
		{
		CONFIGURACION_TIEMxDIVI();
		}//if(sztrama_buffer_in[2]=='d')
	else//if(sztrama_buffer_in[2]=='d')
		{
		if(sztrama_buffer_in[2]=='p')//solicita realizar muestreo de vectores
			{
			CAPTURAR_VECTORES_DE_MUESTRAS();
			}//if(sztrama_buffer_in[2]=='p')
		else//if(sztrama_buffer_in[2]=='p')
			{
			if(sztrama_buffer_in[2]=='y')//solicita realizar un muestreo POR PUERTO
				{
				CAPTURAR_MUESTRAS_UNICAS();
				}//if(sztrama_buffer_in[2]=='y')
			else//if(sztrama_buffer_in[2]=='y')
				{
				estado_USB.berror_de_comunicacion=1;
				TRANSMICION_USB();
				}//else//if(sztrama_buffer_in[2]=='y')
			}//if(sztrama_buffer_in[2]=='p')
		}//else//if(sztrama_buffer_in[2]=='d')
	}//if((CANAL_UNO.bESTADO)||(CANAL_DOS.bESTADO))
else//if((CANAL_UNO.bESTADO)||(CANAL_DOS.bESTADO))
	{
	estado_USB.berror_de_comunicacion=1;
	TRANSMICION_USB();
	}//else//if((CANAL_UNO.bESTADO)||(CANAL_DOS.bESTADO))
}//void FUNCION_OSCILOSCOPIO(void)



//1=1mSxD, 2=0,5mSxD, 3=0,2mSxD,4C=0,1mSxD, 5=50uSxD, 6=20uSxD,
// 7=10uSxD, 8=5uSxD, 9=2uSxD, A=1uSxD, B=muestreo por solicitud de maestro.
void CONFIGURACION_TIEMxDIVI(void)
{
if((('1'<=sztrama_buffer_in[4]) && (sztrama_buffer_in[4]<='9' ))//valida el campo de datos
	||
	(('A'<=sztrama_buffer_in[4]) && (sztrama_buffer_in[4]<='B')))
	{
	switch (sztrama_buffer_in[4])//rutina de lectura de vector de muestras
		{
		case '1':	//configura puerto
					btipo_de_muestreo=1;
					break;
	
		case '2':	//lee vector
					btipo_de_muestreo=1;
					break;	
	
		case '3':	//lee vector
					btipo_de_muestreo=1;
					break;

		case '5':	//lee vector
					btipo_de_muestreo=1;
					break;

		case '6':	//lee vector
					btipo_de_muestreo=1;
					break;

		case '7':	//lee vector
					btipo_de_muestreo=1;
					break;

		case '8':	//lee vector
					btipo_de_muestreo=1;
					break;

		case '9':	//lee vector
					btipo_de_muestreo=1;
					break;

		case 'A':	//lee vector
					btipo_de_muestreo=1;
					break;

		case 'B':	//lee vector
					btipo_de_muestreo=0;
					break;
		}//switch 
	}//if((('1'<=sztrama_buffer_in[4]) && (sztrama_buffer_in[4]<='9' ))
else//if((('1'<=sztrama_buffer_in[4]) && (sztrama_buffer_in[4]<='9' ))
	{
	estado_USB.berror_de_comunicacion=1;
	TRANSMICION_USB();
	}//if((('1'<=sztrama_buffer_in[4]) && (sztrama_buffer_in[4]<='9' ))
}//void CONFIGURACION_TIEMxDIVI(void)


void CAPTURAR_VECTORES_DE_MUESTRAS(void)
{
if(btipo_de_muestreo)
	{

	}//if(btipo_de_muestreo)
else//if(btipo_de_muestreo)
	{
	estado_USB.berror_de_comunicacion=1;
	TRANSMICION_USB();
	}//else//if(btipo_de_muestreo)
}//void CAPTURAR_MUESTRAS(void)


void CAPTURAR_MUESTRAS_UNICAS(void)
{
if(!btipo_de_muestreo)
	{

	}//if(!btipo_de_muestreo)
else//if(!btipo_de_muestreo)
	{
	estado_USB.berror_de_comunicacion=1;
	TRANSMICION_USB();
	}//else//if(!btipo_de_muestreo)
}//void CAPTURAR_MUESTRAS_UNICAS(void);
